1. Field of the Invention
The present invention relates to the field of controlling data flow in a hierarchical environment in general, and to a method and system for efficient transfer of information during a conference or telecollaboration event in particular.
2. Discussion of the Related Art
A system for distributing information between clients is well known in the art. Such systems can be used, for example, for offering multiple participants the option to participate in events from distributed locations. Such events can include conference calls involving video or audio, as well as telecollaboration events. Telecollaboration relates to the cooperation of multiple, possibly remote parties in concurrent working on a task, having a discussion comprising of audio, video, or one or more shared documents or applications, such as a written document, a presentation, instruction codes or any other type of document. When participating in an event, a party can connect via a telephone of any kind, a computer, or a telephone and a computer, wherein the abilities of a participant are limited to those offered by the device he or she is using, for example a person using a computer will be able to participate in shared work on a document, while a person using a simple telephone is limited to sending and receiving audio streams. In order to provide adequate level of service, the usage of multiple servers cooperating to bridge a single event has been introduced, wherein each server is a computing platform connected to a network such as the internet, and/or to a PSTN switch. Using a distributed environment, any server can be connected to one or more other servers, and any participant can connect to any of the servers. Thus, a server can be connected to other servers and/or to clients simultaneously.
Streams sent or received by servers and distributed to all client devices, especially when audio data is sent or received, generally put a heavy burden on a communication system and consume substantial bandwidth resources. In addition, when sending streams from one component of a system to another via a network, the route taken can not always be anticipated. Moreover, the route is generally not the shortest possible route between the two components, thus putting extra burden on the network, and creating delays, slowing down the transfer, limiting the number of participants that can participate in an event and exposing the data to security hazards. Another difficulty in handling events is that the optimal number and distribution of servers which are required for ensuring adequate quality of service as well as efficient usage of resources can not always be anticipated, due to lack of knowledge about the number and distribution of participants or the network load during the event.
There is therefore a need for a method and apparatus that ensure efficient routing of streams comprising audio, video or other data between two servers, and between a server and a client during a conference or a telecollaboration event. The method and apparatus should also enable dynamic allocation and distribution of servers for an event, in order to ensure high level of service as well as economical usage of resources.